perm filename FUDGE2.JMS[S,DOC]1 blob
sn#500354 filedate 1980-02-13 generic text, type C, neo UTF8
COMMENT ā VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Source and disclaimer
C00003 00003 Overview
C00006 00004 Command format
C00011 ENDMK
Cā;
Source and disclaimer
This documentation was typed in by JMS on 13 Feb 1980. The source was
decSystem10 assembly language handbook, third edition (April 1973), pp.
943-950.
The DEC documentation lists error messages and gives examples, neither of
which are included here.
Until I have time to try running FUDGE2 here at SAIL, no guarantee is made
about the accuracy of the information in this file. -- jms
Overview
The FUDGE2 program is used to update files containing one or more
relocatable binary modules and to manipulate the individual modules within
these files. Relocatable binary modules are output by MACRO-10,
FORTRAN-10, ALGOL, [SAIL], and BLISS-10. A module can be a complete
program or only a set of subroutines. One reason for collecting a group
of relocatable modules into one file is to enable LINK-10 or LOADER to use
the file as a library. Three files are used in the updating process:
1. A master file containing the file to be updated.
2. A transaction file containing the modules to be used when updating.
3. An output file containing the updated file.
All three files can be on the same device if the device is DSK. The two
input files can be on the same DECtape.
The desired function of FUDGE2 is specified by a command code at the end
of the command string. Only one command code can be specified in each
command string. Switches can also be used to position a magnetic tape and
to zero a DECtape directory (zeroing a DECtape directory is equivalent to
deleting all the files on the tape).
WARNING
For execution to occur, the command string must be terminated with an
ALTmode, represented in this manual by a dolllar sign ($), instead of the
usual carriage return - line feed.
Command format
.R FUDGE2 <crlf>
*OUTPUT DEV:FILE.EXT=MASTER DEV:FILE.EXT<MODULES>,TRANSACTION DEV:FILE.EXT<MODULES>
(COMMAND)$
master dev: the device containing the file to be updated. If omitted
the default is DSK.
.ext if omitted, .REL is assumed, unless the /L switch appears
in the command string, in which case the output extensi
is .LST
<modules> names of modules (on DSK or DTA only) to be used in the
updating process. They are grouped within angle brackets
in the same order as they appear in the file and are separated by
commas. When manipulating all the modules within a file,
onlyy the filename need be specified. Module names cannot
appear in the output file.
(command) code for the function to be performed. This code can be either
preceded by a slash or enclosed in parentheses and must appear
at the end of the command string. Each command results in the
updated file being output to the output device. The command
codes are as follows:
A append the specified modules in the transaction file(s)
to the master file.
C compress the master file by deleting local symbols. These
symbols are included in relocatable binary modules primarily
because of their usefulness in debugging procedures. Large
libraries of debugged routines frequently have the local
symbols deleted in order to save disk space and reduce the amount
of i/o required during the loading process.
D delete the specified modules from the master file.
E extract the specified files and/or modules from the input
files. The entire file is extracted if module names are
not specified.
H type the commands and switches available (help)
I insert modules from the specified transaction files into the
master file. The modules from the transaction files are inserted
immediately before the specified modules in the master file.
A comma is used to separate the transaction files.
L list the names and lengths of all relocatable modules within a
file. The length is in one of two forms:
low segment break, high segment break or
program break, absolute break
The length of FORTRAN modules is not output.
The default filename for spooled output is the name of the
master file.
R Replace the specified modules in the master file with
the specified modules in the transaction file. The
number of replacing modules must be the same as the number
of modules to replace.
S List all the netry points within a module. These entry
points are listed across the page. The default filename
for spooled output is the name of the master file.
X Write index blocks into a library file on DECtape or
disk. Indexes cannot be written on magnetic tape.
Index blocks are used in a direct access library search
(see LOADER documentation). This command implies a
C command.